import config from "@/siteinfo.js";
import defaultConfig from "./defaultConfig.js";

// 合并用户配置和默认配置
const mergeConfig = Object.assign({}, defaultConfig, config);

/**
 * 配置文件工具类
 * mix: 如需在项目中获取配置项, 请使用本工具类的方法, 不要直接import根目录的config.js
 */
export default {
  // 获取全部配置
  all() {
    return mergeConfig;
  },

  // 获取指定配置
  get(key, def = undefined) {
    if (mergeConfig.hasOwnProperty(key)) {
      return mergeConfig[key];
    }
    console.error(`检测到不存在的配置项: ${key}`);
    return def;
  },

  /**
   * 获取当前商城ID
   */
  getStoreId() {
    console.log(43567);
    // #ifdef H5
    // 判断是否启用H5端多开
    // 启用后将通过获取子域名中的ID作为uniacid
    if (this.get("enabledH5Multi")) {
      const domain = window.location.hostname;
      const regex = this.get("domainIdRegex");
      if (domain.match(regex)) {
        const uniacid = regex.exec(domain)[1].trim();
        return uniacid;
      }
    }
    // #endif
    return this.get("uniacid");
  },
};
